Lemon's blog

CTF密码学总结

Record my learning process of CTF.

字数统计: 1.3k阅读时长: 4 min
2019/05/08 Share

最近接触了一些密码学的题,感觉特别有意思,写下博客来记录一下,以免忘记

一:哈夫曼树

哈夫曼树.png?raw=true)
哈夫曼树(也称为最优二叉树),虽然(目前)没学,但是百度、谷歌大法无敌。
查查原理,再去做题。
在这里插入图片描述
经过一番查找,懂了原理,就总结了一下
在这里插入图片描述
简单说:
叶子结点:权值
a : 4
d :9
g : 1
f : 5
l : 1
0 : 7
5 : 9
{ : 1
} : 1

画图时最上面的是根,而最优二叉树的规则则是需要权值大的尽量放在上面
例如:
叶子结点:权值
a 7
b 5
c 2
d 4
在这里插入图片描述
搞懂了这个,但是这个题中还给了我们一堆数

1
11000111000001010010010101100110110101111101110101011110111111100001000110010110101111001101110001000110

这些代表上面意思那??经过查找发现
发现原来这是哈夫曼树编码详细的介绍

那我们先来完成第一步,画树。
在这里插入图片描述
一开始没画对,画了三四遍,才算画出来,不过不太熟练,还得练。
画的时候最好从下到上画,先把权值小的画出来,一步一步往上画。

既然画出来了,那就用哈夫曼树编码来把每个数字或字符用编码的方式表示出来。
通过画也发现在同一分支中,哪个权值大,那么哪个就是1。
例如:
17下的d(权值为9)和权值为8的相比,那么d的路径就表示为1.

接下来就是安装这样的方法把那么字符都用编码表示出来

f:110
l:00111
a:000
g:00101
.....

下面都这样表示
接下来就开始进行比对

1
11000111000001010010010101100110110101111101110101011110111111100001000110010110101111001101110001000110

一般CTF题的提交格式都是flag{……}
所以我们这里就首先看第一个是不是f
110 恰好对应 f
00111 恰好对应 l
000 恰好对应 a
00101 恰好对应 g
前面对应了几乎就没啥子问题了,但是还有一点比较坑的有的因为权值相等,需要在转换的时候看是否应该换一下位置。
例如:
{} 权值相等,在转化时看是否需要进行换位置。

我们再观察我们上面画的图,其中5d的权值也相同,所以如果提交的答案不对的话,就尝试一下换下位置。
这道题是西湖论剑的题,下面有进入决赛大佬的WP。
关于西湖题的wp

二:传统知识+古典密码

在这里插入图片描述
在实验吧上做了一道很有意思的题目。
首先就想了解一下传统知识吧
在这里插入图片描述
在百度上找到六十甲子顺序表,就先对应着把数字写出来。

辛卯28,癸巳30,丙戌23,辛未8,庚辰17,癸酉10,己卯16,癸巳30。
“+甲子60”
(这里有一个疑问,按图来说甲子不应该是1吗??? 为什么会+60。。。其实这里面还是对传统文化的不熟悉,查查百度,如果还晕的话,记住就行了)
在这里插入图片描述
处理完之后的数
88,90,83,68,77,70,76,90
转换一下ASCII码看看
在这里插入图片描述
XZSDMFLZ
没思路了。。。
看看题目咋提示的
古典密码
古典密码一般涉及的就是替换移位
就先用栅栏密码试试了
一共8位: 可以分为2个字一组,也可以是4个字一组,都试试。
先用2个字为一组的,解出来栅栏密码在线解密
XMZFSLDZ
再用凯撒密码解密凯撒在线解密
发现有一串字母好像是有点意义的,拿出来试试。
shuangyu
改为大写,因为我们输入的就是大写。
SHUANGYU
CTF{SHUANGYU}
提交结果正确,就不用再往下试了。
这个题有很多好玩的地方,需要了解传统的甲子表,需要了解栅栏密码,要了解凯撒密码。
wiki大佬关于密码学的WP
各种加密方式

三、滴答滴答

在这里插入图片描述
下载起来,打开后是这样的
在这里插入图片描述
看过柯南的都应该知道这个是摩斯密码,所以拿去解一下密,看看会出现什么?
摩斯密码解密
在这里插入图片描述
后面的一堆C和D,但是前面我看到了MORSE(摩斯)后面的应该有意义,百度翻译看一下吧
在这里插入图片描述
培根???,查一下。
在这里插入图片描述
了解培根加密之后,我们就知道那一堆C和D有啥用处了
首先,我们先把C转化为A,D转化为B。
在这里插入图片描述
在这里插入图片描述
转化完成后,进行解密
培根加密解密
在这里插入图片描述
结果出来了,百度翻译一下。
在这里插入图片描述
当时在这里卡了,猛的一下不知道啥意思。。。还是太菜。经过学长提醒。。。
栅栏密码,猛的一下明白了,原来ZGIAHYANAUOZNXWI这个就是密文,而且也提示了四道栅栏,所以每组四个字。
在这里插入图片描述
章鱼小丸子
至于提交就有点坑了,不用flag{}格式,直接提交就行。不过这道题确实很有意思,了解了摩斯密码,培根密码,栅栏密码。不过还得练,还是太菜,有的时候就是想不到。。。
在这里插入图片描述

CATALOG
  1. 1. 一:哈夫曼树
  2. 2. 二:传统知识+古典密码
  3. 3. 三、滴答滴答